package com.xdcplus.web.service.wip;

import com.xdcplus.mp.service.BaseService;
import com.xdcplus.pager.vo.PageVO;
import com.xdcplus.web.common.pojo.entity.wip.WipWetWeightAlarmRecord;
import com.xdcplus.web.common.pojo.dto.wip.WipWetWeightAlarmRecordDTO;
import com.xdcplus.web.common.pojo.dto.wip.WipWetWeightAlarmRecordFilterDTO;
import com.xdcplus.web.common.pojo.vo.wip.WipWetWeightAlarmRecordVO;

import java.util.List;


/**
 * (WipWetWeightAlarmRecord)表服务接口层
 *
 * @author Zhecheng.Ren
 * @since 2024-10-22 15:14:13
 */
public interface WipWetWeightAlarmRecordService extends BaseService<WipWetWeightAlarmRecord, WipWetWeightAlarmRecord, WipWetWeightAlarmRecordVO> {

    /**
     * 添加(WipWetWeightAlarmRecord)
     *
     * @param wipWetWeightAlarmRecordDTO (WipWetWeightAlarmRecordDTO)
     */
    void saveWipWetWeightAlarmRecord(WipWetWeightAlarmRecordDTO wipWetWeightAlarmRecordDTO);

    /**
     * 修改(WipWetWeightAlarmRecord)
     *
     * @param wipWetWeightAlarmRecordDTO (WipWetWeightAlarmRecordDTO)
     */
    void updateWipWetWeightAlarmRecord(WipWetWeightAlarmRecordDTO wipWetWeightAlarmRecordDTO);

    /**
     * 批量保存或更新(WipWetWeightAlarmRecord)
     *
     * @param wipWetWeightAlarmRecordList (WipWetWeightAlarmRecordList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatch(List<WipWetWeightAlarmRecord> wipWetWeightAlarmRecordList);

    /**
     * 批量保存或更新(WipWetWeightAlarmRecordDTOList)
     *
     * @param wipWetWeightAlarmRecordDTOList (WipWetWeightAlarmRecordDTOList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatchByDTOList(List<WipWetWeightAlarmRecordDTO> wipWetWeightAlarmRecordDTOList);

    /**
     * 删除(WipWetWeightAlarmRecord)
     *
     * @param id (WipWetWeightAlarmRecord)主键
     */
    void deleteWipWetWeightAlarmRecordLogical(Long id);
    
    void deleteWipWetWeightAlarmRecordByIds(String ids);

    /**
     * 查询(WipWetWeightAlarmRecord)
     *
     * @param wipWetWeightAlarmRecordFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<WipWetWeightAlarmRecordVO>} 状态信息
     */
    List<WipWetWeightAlarmRecordVO> queryWipWetWeightAlarmRecordVOList(WipWetWeightAlarmRecordFilterDTO wipWetWeightAlarmRecordFilterDTO);

    /**
     * 查询(WipWetWeightAlarmRecord)
     *
     * @param wipWetWeightAlarmRecordFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<WipWetWeightAlarmRecordVO>} 状态信息
     */
    PageVO<WipWetWeightAlarmRecordVO> queryWipWetWeightAlarmRecord(WipWetWeightAlarmRecordFilterDTO wipWetWeightAlarmRecordFilterDTO);

    /**
     * 查询一个
     *
     * @param id (WipWetWeightAlarmRecord)主键
     * @return {@link WipWetWeightAlarmRecordVO} (WipWetWeightAlarmRecord)信息
     */
    WipWetWeightAlarmRecordVO queryWipWetWeightAlarmRecordById(Long id);

    WipWetWeightAlarmRecordVO queryByBayCodeAndRoadNum(String bayCode, Integer roadNum);

    void handleWetWeightAlarm();
}
